<?php
/**
 * ВИД модуля "Контент по заявкам"
 * @author Гринько Виталий <vitalygrinko@gmail.com>
 * @version 1.0
 */
class View_ContentRequest {
  
  /*Вывод: список. Тип: таблица.*/
  public static function showList($arrMany, $idFolder) {
    if (empty($arrMany)) {
      self::_showNoContent($idFolder);
      return false;
    }
    self::_showFilter();
    /*Выводим сообщения*/
    View_User::showUserMessage(User_User::getUserMessage(), User_User::getUserMessageType());
    echo '<div class="list_table">';
      echo '<table>
              <tr class="bg_grey">
                <th>Заявка</th>
                <th>Тип</th>
                <th style="min-width: 50px;">Автор</th>
                <th class="with_img"><img src="' . W_IMAGES . 'icons/ok.gif" alt="Заявка выполнена"></th>
                <th class="with_img"><img style="margin-right: 3px;" alt="" src="' . W_IMAGES . 'icons/img_qwestion_1.gif") no-repeat scroll 5px 4px transparent" title="Рейтинг" /></th>
                <th class="with_img"><img style="margin-right: 3px;" alt="" src="' . W_IMAGES . 'icons/img_qwestion_2.gif" title="Количество комментариев" /></th>
              </tr>';
      foreach ($arrMany as $arrOne) {
        self::_showOneInList($arrOne);
      }
      echo '  </table>';
    echo '</div>';
  }
  private static function _showOneInList($arrOne) {
    echo '
    <tr idContentRequest="' . $arrOne['ID_content_request'] . '">
	 		<td>
	 			<div class="path_links">
					<ul>
						<li><a href="' . W_ABSPATH . 'crequest/?folder=' . $arrOne['ID_folder'] . '">' . $arrOne['folder_name'] . '</a></li>
						<li class="last"><a href="' . W_ABSPATH . 'crequest/' . $arrOne['ID_content_request'] . '">' . $arrOne['name'] . '</a></li>
					</ul>
				</div>';
	  echo '
	 		</td>
	 		<td>
	 		  <div class="type_rounded"><div><a href="' . W_ABSPATH . Service_Essence::getEssenceTypeRootUrlByID($arrOne['essence_type']) . '" title="Перейти к разделу">' . Service_Essence::getEssenceTypeHumanNameLC($arrOne['essence_type']) . '</a></div></div>
	 		</td>
	 		<td>
	 			<a class="green" href="' . W_ABSPATH . 'user/' . $arrOne['login'] . '">' . $arrOne['login'] . '</a>
	 		</td>
      <td>
   			<strong>' . $arrOne['done_amount'] . '</strong>
   		</td>
      <td>
   			<strong>' . round($arrOne['total_mark'], 2) . '</strong>
   		</td>
   		<td>
   			<strong>' . $arrOne['comment_amount'] . '</strong>
   		</td>';    
  }  
  private static function _showNoContent($idFolder) {
    echo '<div class="no_essences_notice">
					  <p>Заявок на контент в этом разделе пока что нет.</p>
  	        <p>Вы можете <a href="' . W_ABSPATH . 'crequest/add/' . $idFolder . '">добавить заявку на контент</a><a href="' . W_ABSPATH . 'crequest/add/' . $idFolder . '"><img class="arrowRight" src="' . W_IMAGES . 'arrowRight.gif" /></a></p>
  	      </div>';
  }
  private static function _showFilter() {
    echo '<div class="all_essences">';
    echo '</div>';
  }
  /*Вывод: одна сущность.*/
  public static function showOne($arrOne) {
    $objSession = User_Session::instance();
    $idUser = $objSession->getUserId();
    echo '<div class="essence_one">';
      echo '<div class="b">';
        echo '<div class="bl">';
          echo '<div class="br">';
            echo '<div class="essence_one_content">';
              echo '<div class="top_info">';
          		  echo '<ul class="rating">
          		          <li class="one">' . round($arrOne['total_mark'], 2) . '</li>
            					  <li class="user">' . $arrOne['user_amount'] . '</li>
            						<li class="coments"><a href="' . W_ABSPATH . 'crequest/' .  $arrOne['ID_content_request'] . '#comment">' .  $arrOne['comment_amount'] . '</a></li>
          					  </ul>';
          			echo '<div class="top_right_info">
            					  <ul>
            						  <li class="date">' . Service_Date::getCaseDateForUser($arrOne['creation']) . '</li>
            							<li class="user"><a href="' . W_ABSPATH . 'user/' .  $arrOne['login'] . '/">' . $arrOne['login'] . '</a></li>';
            					  echo '
            					  </ul>
            					  <ul>
            					    <li class="type"><div>Тип заявки: <a href="' . W_ABSPATH . Service_Essence::getEssenceTypeRootUrlByID($arrOne['essence_type']) . '" title="Перейти к разделу">' . Service_Essence::getEssenceTypeHumanNameLC($arrOne['essence_type']) . '</a></div></li>
            					  </ul>
          			      </div>';
              echo '</div>';
              echo '<div class="essence_text wysiwyg-content">
          		 	     ' . $arrOne['text'] . '
          		     </div>';            	
              echo '<div class="mark_out">
            	        <ul class="mark">
            				    <li><strong>Качество:</strong><div class="kachestvo">'; echo View_Mark::showMark(19, $arrOne, 0, 'stars'); echo '</div></li>';
                  echo '<li><div class="interest-outer">'; if ($idUser) View_Interest::showUI($arrOne['ID_content_request'], $arrOne['ID_user'], 19, $arrOne['is_user_interested']); echo '</div></li>';
            		echo '</ul>
            			  </div>';
              echo '<div class="sign_block ">';
            		echo '<div class="signed_list">
            		        <div class="signed_list_header" title="Пользователи, которые готовы выполнить заявку">Исполнители:</div>';
            		          $arrKs = array();
            		          if (!empty($arrOne['users'])) {
            		            $k = 0;
            		            echo '<ul>';
            		            foreach ($arrOne['users'] as $arrUser) {
            		              echo '<li class="last" id="user_' . $arrUser['login'] . '"><a href="' . W_ABSPATH . 'user/' . $arrUser['login'] . '" class="" title="Профиль пользователя">' . $arrUser['login'] . '</a> / <span class="date_signed">' . Service_Date::BDDateToHuman($arrUser['creation']) . '</span>';
              		              if ($arrUser['is_done']) {
              		                $k++;
              		                $arrKs[$arrUser['ID_user']] = $k;
              		                echo '&nbsp;<img src="' . W_IMAGES . 'icons/ok.gif" alt="Заявка выполнена">&nbsp;
                                        <a href="#done-' . $k . '" name="done-' . $k . '" title="Заявка выполнена пользователем" class="link2anchor">#<span>' . $k . '</span></a>';
              		              }
            		              echo '</li>';
            		            }
            		            echo '</ul>';
            		          } else {
            		            echo '<span class="no-signatures">Ещё никто не подписался</span>';
            		          }
            		      echo '</div>';
            		echo '<div class="sign_to_request">
            		        <div class="notice-ability">
            		          <strong>Примечание:</strong> одну и ту же заявку могут выполнять несколько человек.
            		        </div>        
            		        ';
            		        if (!$idUser) // если пользователь уже записался
            		          echo '<img src="' . W_IMAGES . 'button/btn_iamready_gray.gif" style="width:53px;height:21px;position:relative;top:3px;" alt="Я готов!">';
            		        else {
            		          if ($arrOne['is_added_to_user'])
            		            echo '<a href="#" title="Отказаться от выполнения заявки" status="' . ($arrOne['is_added_to_user'] ? 1 : 0) . '" onclick="CRequest.toggleToUser(this, ' . $arrOne['ID_content_request'] . ');return false;" style=""><img src="' . W_IMAGES . 'button/btn_refuse.gif" style="width:77px;height:21px;position:relative;top:3px;" alt=""></a>';
            		          else 
            		            echo '<a href="#" title="Подписаться на выполнение задания" status="' . ($arrOne['is_added_to_user'] ? 1 : 0) . '" onclick="CRequest.toggleToUser(this, ' . $arrOne['ID_content_request'] . ');return false;" style=""><img src="' . W_IMAGES . 'button/btn_iamready.gif" style="width:53px;height:21px;position:relative;top:3px;" alt=""></a>';
            		        }
            		        echo '
            		      </div>';        		        
            	echo '</div>';
                
//            	echo '<pre>';
//            	print_r($arrOne);
//            	echo '</pre>';
              self::_showPublishesToOne($arrOne['done'], $arrOne['essence_type'], $arrKs);
      	    echo '</div>';
    	    echo '</div>';
    	  echo '</div>';
    	echo '</div>';
  	echo '</div>';
  	
		
  }

  private static function _showPublishesToOne($arrEssences, $essenceTypeId, $arrKs) {
    if (empty($arrEssences))
      return false;
    echo '<div class="signed_publishes">';
      echo '<h2>Публикации:</h2>';
      switch ($essenceTypeId) {
        case 1:
          View_Essence::showArticlesListSimple($arrEssences, $arrKs);
          break;
        case 7:
          View_Essence::displayLessonsSimple($arrEssences, $arrKs);
          break;
        case 10:
          View_Essence::showSolutionsListSimple($arrEssences, $arrKs);
          break;
//        case 5:
//          View_Essence::showQuestionListSimple($arrEssences);
//          break;
      }
    echo '</div>';
  }
  
  /*Вывести элемент управления для связывания новой сущности и заявки (в форме)*/
  public static function showLinkUI2Form($arrEssence, $essenceTypeID) {
    echo '<div class="box_trext_form">
        		<div class="info_label">	
        			<input type="checkbox" class="with-notice" id="toLinkWithCRequest" name="isToLinkWithCRequest" onclick="CRequest.toggleLink2LinkEssence(this);"' . (isset($arrEssence['isToLinkWithCRequest']) && $arrEssence['isToLinkWithCRequest'] ? ' checked="checked"' : '') . ' />
        			&nbsp;Связать с <a class="blue underline" href="' . W_ABSPATH . 'crequest/" target="_blank" title="Ссылка на раздел откроется в новой вкладке">заявкой на контент</a>
        			<p class="notice" title="">Связь с заявкой на контент можно осуществить только единожды - при создании "ответа" на заявку.</p>
        		</div>
        	</div>
          <div class="box_trext_form" style="display: ' . (isset($arrEssence['isToLinkWithCRequest']) && $arrEssence['isToLinkWithCRequest'] ? 'block' : 'none') . '" id="selectCR2LinkBlock">
        	  <div class="info_label isolated clearRootsMargins delInnerBlock" style="width:180px">
        	    <input type="hidden" name="ID_content_request" id="ID_content_request" value="' .  (isset($arrEssence['ID_content_request']) ? $arrEssence['ID_content_request'] : 0) . '" />';
        	    if (isset($arrEssence['ID_content_request']) && $arrEssence['ID_content_request']) 
        	      $linkNameCRequest = ContentRequest::getName($arrEssence['ID_content_request']);
              $linkNameCRequest = (isset($linkNameCRequest) && !empty($linkNameCRequest)) ? $linkNameCRequest . ' (сменить)' : 'заявка не выбрана (выбрать)';
        	    echo '<a href="' . W_ABSPATH . 'tutorial/#TB_inline?inlineId=userContentRequest" class="jsHref thickbox" id="linkToSelectCRequest" title="Список выбранных Вами заявок">' . $linkNameCRequest . '</a>
        	  </div>
        	</div>';
  }

  public static function showListForUser($arrMany, $essenceTypeId) {
    echo '<div class="user_signed_requests">';
      if (empty($arrMany)) {
        echo 'Вы <strong>ещё не подписались</strong> на выполнение <a href="' . W_ABSPATH . 'crequest" target="_blank" title="Ссылка на раздел откроется в новой вкладке">заявок на контент данного типа</a>.';
        echo '</div>';
        return false;
      }
     echo '<strong>Режим выбора</strong>';
     foreach ($arrMany as $arrOne) {
       echo '<ul class="signed_publishes">';
         echo '<li class="user"> <a href="' . W_ABSPATH . 'user/' . $arrOne['login'] . '/">' . $arrOne['login'] . '</a> | </li>';
         echo '<li class="date"> ' . Service_Date::BDDateToHuman($arrOne['creation']) . ' |</li>';
         echo '<li class="last"><a href="" class="jsHref" title="Выбрать эту заявку" onclick="CRequest.selectOneToLink(this, ' . $arrOne['ID_content_request'] . ');return false;">' . $arrOne['name'] . '</a> <a href="' . W_ABSPATH . 'crequest/' . $arrOne['ID_content_request'] . '" title="Открыть эту заявку в новом окне" target="_blank"><img src="' . W_IMAGES . 'icons/maximize.gif" style="width:9px;height:9px;" alt="Открыть"></a></li>';
       echo '</ul>';
     }
   echo '</div>';
  }
  
  /**
   * вывод на главной
   */
  public static function showInIndex($arrContentRequest){echo '<pre>';
  echo '</pre>';
		echo '<div class="main_page_content_bottom content_request_index">';
			echo '<h2><a class="black" href="' . W_ABSPATH . 'crequest">Последние заявки на контент</a> <a class="help" href="' . W_ABSPATH . 'help/crequest" title="Что это такое?"><img src="' . W_IMAGES . 'link/link_help_module.gif" style="width:16px;height:17px;position:relative;top:3px;" alt="О разделе"></a></h2>';			
			for ($i = 0; $i < 3; $i++){
				echo '<div class="main_page_bottom_box ' . ($i == 2 ? ' main_page_bottom_box_last' : '') . '">';
					foreach ($arrContentRequest[$i] as $arr){
						echo '<ul class="crumbs">';
							echo '<li><a href="' . W_ABSPATH . 'crequest/?folder=' . $arr['ID_folder'] . '">' . $arr['folder_name'] . '</a></li>';
							echo '<li class="last"><a href="' . W_ABSPATH . 'crequest/' . $arr['ID_content_request'] . '">' . $arr['name'] . '</a> | <span class="date">' . Service_Date::BDDateToHuman($arr['creation']) . '</span></li>';
						echo '</ul>';
						echo '<div class="bottom_info_wrap" >';
							echo '<div class="bottom_info request_type_pre"><img src="' . W_IMAGES . 'background/bg_user.gif" class="userIco" alt="" />&nbsp;<a href="' . W_ABSPATH . 'user/' . $arr['login'] . '">' . $arr['login'] . '</a></div>';
							echo '<div class="request_type"><div>Тип заявки: <a href="' . W_ABSPATH . Service_Essence::getEssenceTypeRootUrlByID($arr['essence_type']) . '" title="Перейти к разделу">' . Service_Essence::getEssenceTypeHumanNameLC($arr['essence_type']) . '</a></div></div>';
							echo ($arr['done_amount'] > 0 ? '<div><img class="relTop4px" src="' . W_IMAGES . 'icons/ok.gif" alt="Заявка выполнена"></div>' : '');
					  echo '</div>';
					}
				echo '</div>';
			}
		echo '</div>';
  }
  
  
}
?>